//Copyright (c) 2006-2007 Microsoft Corporation.  All rights reserved
using System;

namespace InvocationFramework.Adapters.Pipeline.Mock
{
    /// <summary>
    /// Esta clase representa una entrada en cache
    /// </summary>
    /// <author>Rodolfo Finochietti 23/05/2006 23.53</author>
    [Serializable]
    public class ResultCacheEntry
    {
        #region Constructors

        /// <summary>
        /// Constructor
        /// </summary>
        public ResultCacheEntry( ) { }

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="hashedKey">Clave hash de la entrada en cache</param>
        /// <param name="result">Resultado de la ejecucion del servicio</param>
        public ResultCacheEntry( int hashedKey, object result )
        {
            _hashedKey = hashedKey;
            _result = result;
        }

        #endregion

        #region Properties

        /// <summary>
        /// Variable privada para el manejo de la propiedad
        /// </summary>
        private int _hashedKey;

        /// <summary>
        /// Clave hash de la entrada en cache
        /// </summary>
        public int HashedKey
        {
            get
            {
                return _hashedKey;
            }
            set
            {
                _hashedKey = value;
            }
        }

        /// <summary>
        /// Variable privada para el manejo de la propiedad
        /// </summary>
        private object _result;

        /// <summary>
        /// Resultado de la ejecucion del servicio
        /// </summary>
        public object Result
        {
            get
            {
                return _result;
            }
            set
            {
                _result = value;
            }
        }

        #endregion
    }
}